package com.niiwoo.civet.account.service.local.check.job.api;

import java.util.List;

/**
 * 对账相关服务接口
 * @author zhoulinquan
 *
 * @param <T>
 */
public interface CheckDetailService<T> {
	/**
	 * 从数据库中加载对应的记录
	 * @param checkRecordId 对账记录ID
	 * @param page 页数
	 * @param pageSize 每页记录数
	 * @return
	 */
	List<T> load(Long checkRecordId, int page, int pageSize);
	/**
	 * 比对数据
	 * @param t 对账对象
	 * @param checkDate 对账日期
	 */
	Object check(T t, String checkDate);
	
	/**
	 * 批量更新对账账单明细状态
	 * @param checkRecordId 对账记录ID
	 * @param status 状态；1-待处理；2-已处理；
	 */
	void batchUpdateCheckDetailStatus(Long checkRecordId, Byte status);
	
	/**
	 * 删除所有对账成功的银行账单数据
	 * @param checkRecordId
	 */
	void deleteAllCheckSuccessBankOrder(Long checkRecordId);
	
}
